package com.ygqh.baby.service;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.ygqh.baby.ao.QueryInfo;
import com.ygqh.baby.ao.ResultSet;
import com.ygqh.baby.po.ActionProduct;

public interface ActionProductService {

	List<ActionProduct> find(Long actionId);

	int findCount(Long actionId);

	ActionProduct findById(Long id);

	ActionProduct findBySkuCode(String skuCode, Long actionId);

	int deleteSoft(Long[] ids);

	int deleteSoft(Long id);

	int save(ActionProduct actionProduct);

	int update(ActionProduct actionProduct);

	int saveOrUpdate(ActionProduct actionProduct);

	ResultSet<ActionProduct> search(QueryInfo queryInfo, Long actionId, String q);

	int addBatch(List<ActionProduct> productList);

	List<ActionProduct> findBySkuCodeList(Long actionId, List<String> skuList);

	ActionProduct findByBarCode(Long actionId, String barCode);

	void saveActionPackToRedis(Long[] packId, Date endDate);

	BigDecimal getTotalPriceFromProductList(List<ActionProduct> productList);

	List<ActionProduct> getProductList(ActionProduct product, String skuInfos, Long actionId);

}
